// -*-C-*-
#ifndef INCLUDE_KPRINT
#define INCLUDE_KPRINT

#ifdef __cplusplus
#include <cstring>
#include <cstdarg>
#include <cstdio>

extern "C" {
#else
#include <string.h>
#include <stdarg.h>
#include <stdlib.h>

#endif

extern void __serial_print1(const char* cstr);
extern void __serial_print(const char* str, size_t len);

/**
 * The earliest possible print function (requires no heap, global ctors etc.)
 **/
__attribute__ ((format (printf, 1, 2)))
extern void kprintf(const char* format, ...);
extern void kprint(const char*);

#ifdef __cplusplus
}
#endif

#endif
